In order to facilitate user analysis of sets of data, a computer is often used to process the data and generate statistical and/or graphical representations.
In many applications, the input data may be time varying. For example, in the field of finance, a computer may generate graphs or other statistical representations of financial data, such as stock market prices, interest rates, etc. Equally, in other fields, such as the field of electronic circuit wafer testing, a computer can be used to graphically represent test data that indicates problems in one or more dies on each wafer.
In such applications, the age of the data samples may have a bearing on their importance to the user, and thus the user may have the option of selecting to view statistics and/or graphics based on the data samples of a limited history period, such as the past 24 hours or the past 7 days, in other words based on rolling time periods that are constantly changing based on the current time and date.
There are difficulties in generating statistical/graphical representations for such rolling time periods.
Indeed, when a user requests to see new statistical/graphical representations of the data samples of a rolling time period, one approach would be to process the request in real time, by assembling the appropriate data samples, and then generating the desired representations before displaying the results to the user. However, in certain applications where there are large numbers of data samples and/or complex processing to be performed on the data samples, this leads to an unacceptable delay between the user request and the display of the results.
An alternative approach would be to schedule periodic recalculations of the statistical/graphical representations based on the appropriate data samples of the rolling time period. This has the advantage that when a user requests to see the statistical/graphic representations, they may be displayed immediately. However, such an approach has the disadvantage that the results are not always up to date, as they will not include any new data samples received since the last periodic recalculation.